If a software error corrupts a data object, or if erroneous data updates the data object, a data protection administrator may restore the data object to a previous state that does not include the corrupted or erroneous data. A backup/restore application executes a backup operation either occasionally or continuously to enable this restoration, storing a copy of each desired data object state (such as the values of data and these values' embedding in a database's data structures) within dedicated backup files. When the data protection administrator decides to return the data object to a previous state, the data protection administrator specifies the desired previous state by identifying a desired point in time when the data object was in this state, and instructs the backup/restore application to execute a restore operation to restore a copy of the corresponding backup files for that state to the data object. A backup/restore application may create a full backup file that includes all of a data object or the parts of the data object that are used. A backup/restore application may also create an incremental backup file that includes only changes made to the data object since a selected time, such as a previous backup of the data object.
An image, such as a snapshot, is a capture of a state of a data object, such as a file system, a virtual machine, or an application, at a specific moment in time. A data object may be stored on a storage array, which is a disk storage system that includes multiple disk drives. Unlike a disk enclosure, a storage array has cache memory and advanced functionality, such as virtualization and Redundant Array of Independent Disks (RAID). A data protection administrator may manage a backup/restore application to create images of data objects and store the images of data objects on multiple storage arrays.
A virtual machine is a software implementation of a computer that executes programs like a physical machine. A system virtual machine provides a complete system platform which supports the execution of a complete operating system, and usually emulates an existing architecture, including disks. Multiple instances of virtual machines lead to more efficient use of computing resources, both in terms of energy consumption and cost effectiveness, known as hardware virtualization, the key to a cloud computing environment. Similar to other data objects, backup copies may be made of virtual machine data objects to enable a restoration of the virtual machine data objects in the event of corruption or an erroneous update to the virtual machine data objects.
Server virtualization has proven to be a highly effective technology in many enterprises, and is a key element enabling cloud and information technology as a service offerings. Storage technology has been an area of increased focus as server virtualization has expanded, due to the impact server virtualization has on data access patterns of applications. Some enterprises have consolidated information technology roles and responsibilities, as utilizing information technology generalists, such as hypervisor-centric information technology administrators, may be more efficient. Virtual machine management tools are expanding to encompass more of the information technology infrastructure to improve the efficiency and effectiveness of information technology generalists.
An example of a virtual machine management tool is VASA (vSphere APIs for Storage Awareness), which is a virtual machine storage management tool that is available from VMware® and that enables Virtual Volumes (VVOLs), which is an integration and management framework for external storage such as storage area networks (SAN) and network-attached storage (NAS). This Virtual Volumes framework allows customers to easily assign and manage storage capabilities on a per-virtual machine basis at the hypervisor level using storage policy-based management. The Virtual Volumes storage architecture represents a significant change in the way hypervisors utilize and interact with storage systems. The VASA virtual machine storage management tool utilizes the unique capabilities of each underlying storage system, as presented through the VASA interface. This VASA interface enables virtual machine administrators and non-storage information technology administrators to have visibility into storage system quality of service features, such as RAID levels and drive type, and to leverage the storage systems data protection features including snapshots. With direct virtual machine to storage device mapping, the Virtual Volumes framework provide fine grain controls for data protection and I/O performance analysis. The storage and data services can be applied on a per virtual machine disk level as opposed to a data store level. The data services provided by storage vendors can be easily leveraged now rather than leveraging the services developed and maintained by virtual machine management tools.
Storage policy-based management enables the capturing of storage service levels requirements such as capacity, performance, availability, and data protection, in the form of logical templates, or policies, to which virtual machines are associated. Storage policy-based management automates storage provisioning by identifying available data stores that meet policy requirements and, when coupled with the Virtual Volumes framework, dynamically instantiates the necessary data services. Through policy enforcement, storage policy-based management also automates service-level monitoring and compliance throughout the lifecycle of a virtual machine.